// index.js
// 获取应用实例
const app = getApp()
const db = wx.cloud.database()

Page({
  data: {
    deviceTop: "120px",
    postersList: [],
    middleList: [],
    noticeList: [],
    loading: true,
  },
  onLoad() {
    this.getAllData()
  },
  getAllData() {
    // _index是获取后端数据时类似于页数一样的东西，每次4条数据，一页页拿
    this._index = 0
    db.collection("index").get({
      success: (res) => {
        this.setData({
          postersList: res.data[0].postersList,
          middleList: res.data[0].middleList
        })
      }
    })
    this.onReachBottom()
    wx.getSystemInfo({
      success: (result) => {
        if ((result.windowWidth / result.windowHeight) > 0.588) {
          this.setData({
            deviceTop: "172px"
          })
        }
      },
    })
  },
  //下拉刷新数据
  onPullDownRefresh() {
    this.setData({
      noticeList: []
    })
    setTimeout(() => {
      this.getAllData()
      wx.stopPullDownRefresh()
    }, 500)
  },
  //到底部后
  onReachBottom() {
    this.setData({
      loading: true
    })
    //通知公告数据部分
    db.collection("index_noticeList").skip(this._index * 4).limit(4).get({
      success: (res) => {
        // 其实loading不管是像这样只在没有时才false还是每次都false都问题不大，因为每次下滑都会加载中显示，而其他页面主要是因为他们共用一个Loading，如果
        //只有没有才false就会造成其他页面没有数据也在转，其实主页标签页面标签数据一体给我造成了很大的困扰，message页面的记载逻辑应该是最好的
        if (res.data.length<4) {
          this.setData({
            loading: false
          })
        }
        this.setData({
          noticeList: this.data.noticeList.concat(res.data)
        })
        this._index++
      }
    })
  },
  // 通知公告部分点击后
  noticeMore(e) {
    const item = e.currentTarget.dataset.item
    wx.navigateTo({
      url: `../noticeMore/noticeMore?_id=${item._id}&title=${'index'}`,
    })
  },
  // 中间点击的六个跳转
  naviPage(e) {
    wx.navigateTo({
      url: e.currentTarget.dataset.url+'?title='+e.currentTarget.dataset.text,
    })
  },

  onShareAppMessage() {},
  onShareTimeline() {},
  onAddToFavorites() {}
  
})